100 PRINT CHR$(14);:IF PEEK(118)=173 THEN POKE 59468,14 110 PRINT "[147] [195]OMMODORE 64 [198]AST [199]ARBAGE [195]OLLECTOR" 120 PRINT " [195]OPYRIGHT ([195]) [196]AVID [215]ILLIAMS, 1987" 130 PRINT "[193]UTHOR'S ADDRESS: [208].[207]. [194]OX 174" 140 PRINT " [211]TATION '[218]'" 150 PRINT " [212]ORONTO, [207]NTARIO" 160 PRINT " [195]ANADA. [205]5[206] 2[218]4" 170 PRINT "[208]ERMISSION IS GIVEN FOR THIS PROGRAM" 180 PRINT "TO BE COPIED FOR NON-COMMERCIAL" 190 PRINT "PURPOSES, PROVIDING IT IS KEPT INTACT," 200 PRINT "INCLUDING THIS COPYRIGHT NOTICE." 210 PRINT "[195]HOOSE:": PRINT " 1. [210]EAD [196]OCUMENTATION ([196]O THIS FIRST!)" 220 PRINT " 2. [195]REATE [205]ACHINE [204]ANGUAGE [198]ILE" 230 PRINT " 3. [209]UIT" 240 PRINT "[217]OUR [195]HOICE ([194]Y [206]UMBER)? "; 250 GET X$:IF X$<>"" THEN 250 260 GET X$:IF X$<"1" OR X$>"3" THEN 260 270 PRINT X$:PRINT 280 ON VAL(X$) GOTO 860,290:END:RUN 290 OPEN 15,8,15 300 PRINT "[212]HIS ROUTINE RECORDS THE MACHINE" 310 PRINT "LANGUAGE PROGRAM INTO A DISK FILE." 320 PRINT "[208]UT THE DISK ONTO WHICH YOU WANT THE" 330 PRINT "FILE TO BE RECORDED INTO DRIVE 0. [212]HE" 340 PRINT "FILE WILL BE NAMED 'GARB COLLECT ML'." 350 GOSUB 800 360 OPEN 1,8,5,"0:GARB COLLECT ML,P,W" 370 INPUT#15,E,E$:IF E THEN PRINT E$:CLOSE1:CLOSE15:STOP:RUN 380 RESTORE:C=0:D=0 390 READ X$:IF X$<>"START ML" THEN 390 400 READ X 410 FOR I=0 TO -1 STEP -1:C=C+X:D=D+C:PRINT#1,CHR$(X);:READ X:I=X:NEXT 420 CLOSE 1 430 IF C=65667 AND D=18043554 THEN CLOSE 15:RUN 440 PRINT "[197]RROR IN [205][204] [196]ATA [211]TATEMENTS!":PRINT "[217]OU HAVE A BAD COPY OF THIS PROGRAM!" 450 PRINT#15,"S0:GARB COLLECT ML" 460 INPUT#15,E,E$:PRINT E$:CLOSE 15:STOP:RUN 470 DATA START ML 480 DATA 10,206,169,0,44,169,255,216,88,240,12,165,51,197,49,165 490 DATA 52,229,50,201,4,176,21,162,5,181,32,72,202,16,250,32 500 DATA 53,206,162,0,104,149,32,232,224,6,208,248,96,165,1,41 510 DATA 254,133,1,165,55,141,246,207,141,251,207,165,56,141,247,207 520 DATA 141,252,207,169,0,141,255,207,173,246,207,141,244,207,56,173 530 DATA 247,207,233,31,144,15,141,245,207,165,51,205,244,207,165,52 540 DATA 237,245,207,144,13,206,255,207,165,51,141,244,207,165,52,141 550 DATA 245,207,173,242,207,133,34,173,243,207,133,35,32,92,207,173 560 DATA 244,207,141,253,207,173,245,207,141,254,207,165,34,141,244,207 570 DATA 165,35,141,245,207,173,242,207,141,246,207,173,243,207,141,247 580 DATA 207,173,251,207,133,34,173,252,207,133,35,32,92,207,173,255 590 DATA 207,208,25,165,34,141,251,207,165,35,141,252,207,173,253,207 600 DATA 141,246,207,173,254,207,141,247,207,76,80,206,165,34,133,51 610 DATA 133,53,165,35,133,52,133,54,165,1,9,1,133,1,96,160 620 DATA 0,177,32,208,8,200,145,32,200,145,32,208,75,141,248,207 630 DATA 200,177,32,133,36,200,177,32,133,37,165,36,205,246,207,165 640 DATA 37,237,247,207,176,50,165,36,205,244,207,165,37,237,245,207 650 DATA 144,38,56,165,34,237,248,207,133,34,176,2,198,35,172,248 660 DATA 207,136,192,255,240,7,177,36,145,34,76,41,207,160,1,165 670 DATA 34,145,32,200,165,35,145,32,96,32,73,207,133,32,134,33 680 DATA 96,24,101,32,72,138,101,33,170,104,96,160,3,177,32,170 690 DATA 136,177,32,96,165,45,133,32,165,46,133,33,165,32,197,47 700 DATA 165,33,229,48,176,41,160,0,177,32,48,5,200,177,32,48 710 DATA 10,162,0,169,7,32,65,207,76,100,207,162,0,169,2,32 720 DATA 65,207,32,231,206,162,0,169,5,32,65,207,76,100,207,165 730 DATA 32,197,49,165,33,229,50,176,79,160,0,177,32,48,5,200 740 DATA 177,32,48,9,32,83,207,32,65,207,76,151,207,32,83,207 750 DATA 32,73,207,141,249,207,142,250,207,160,4,177,32,72,162,0 760 DATA 169,5,32,65,207,104,162,0,10,144,1,232,32,65,207,165 770 DATA 32,205,249,207,165,33,237,250,207,176,180,32,231,206,162,0 780 DATA 169,3,32,65,207,76,215,207,96,44,0,192,0,0,0,0 790 DATA 0,0,0,0,0,0,0,0,-1 800 PRINT:PRINT "TO CONTINUE: PRESS 'RETURN'[146]"; 810 GET X$:IF X$<>"" THEN 810 820 GET X$:IF X$<>CHR$(13) THEN 820 830 PRINT:RETURN 840 IF D=4 THEN RETURN 850 PRINT:GOSUB 800:PRINT "[147]";:RETURN 860 PRINT "OUTPUT TO S[146]CREEN OR P[146]RINTER? "; 870 GET X$:IF X$<>"" THEN 870 880 GET X$:IF X$<>"S" AND X$<>"P" THEN 880 890 PRINT X$:PRINT:D=4+(X$="S") 900 OPEN 1,D:CR$=CHR$(13):IF D=4 THEN CR$=CR$+"" 910 A=61+3*(PEEK(118)=173):GOSUB 1020 920 IF D=3 THEN TW=40:GOTO 940 930 INPUT "PRINTER TEXT WIDTH (40-120) 80[157][157][157][157]";TW:IF TW<40 OR TW>120 THEN 930 940 POKE 902,TW 950 POKE 251,(A+66)AND255:POKE 252,(A+66)/256 960 L=0:PRINT#1,CR$;CR$;:IF D=3 THEN PRINT "[147]"; 970 SYS A:PRINT#1,CR$; 980 IF PEEK(901)=0 THEN GOSUB 840:PRINT#1,CR$;CR$;:CLOSE 1:RUN 990 L=L+1 1000 IF L>=20 THEN L=0:GOSUB 840 1010 GOTO 970 1020 A=256*PEEK(A+1)+PEEK(A)+30:RETURN